Technical Q&A

HW 54 - Forth 言語での ifthen (1999 年 3 月 29 日)


Q: Forth で if を使うときは、then も一緒に使う必要があるのはなぜですか?

A: C などの言語とは違って、Forth では if のあとに then を続け、さらに else を続ける必要があります。else を使用しない場合は、then のあとにはまだ if が続かなければなりません。Forth では、文字列、数字、記号のいずれも命令語となり得るため、if または else が後に続くコードを括弧で閉じることができません。Forth では、左括弧記号「(」は Forth インタプリタに対して、入力の翻訳処理を停止するよう指示します。そこから先、右括弧記号「)」が出現するまでの間に取得されるテキストは、すべてコメント扱いとなります。if をより厳密に定義すると、次のようになります。

「if 文 のあとには true、また else 文のあとには false の各動作が伴うため、then は true または false 関数に対するデリミタとなる。ほかの非条件コードは「if then」節と定義の終端の間に置くことができる」


-- Wayne Flansburg
Worldwide Developer Technical Support

Technical Q&As | Contents
Previous Question | Next Question

To contact us, please use the Contact Us page.